package com.ruoyi.gp.service;

import com.ruoyi.gp.domain.Patient;
import com.ruoyi.gp.domain.vo.ExcelPatientOptionVo;
import com.ruoyi.gp.domain.vo.PatientOptionVo;
import com.ruoyi.gp.domain.vo.PatientVo;
import com.ruoyi.gp.domain.bo.PatientBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 【请填写功能名称】Service接口
 *
 * @author ruoyi
 * @date 2024-03-04
 */
public interface IPatientService {

    /**
     * 查询【请填写功能名称】
     */
    PatientVo queryById(Long id);

    /**
     * 查询【请填写功能名称】列表
     */
    TableDataInfo<PatientVo> queryPageList(PatientBo bo, PageQuery pageQuery);

    /**
     * 查询【请填写功能名称】列表
     */
    List<PatientVo> queryList(PatientBo bo);

    /**
     * 新增【请填写功能名称】
     */
    Boolean insertByBo(PatientBo bo);

    /**
     * 修改【请填写功能名称】
     */
    Boolean updateByBo(PatientBo bo);

    /**
     * 校验并批量删除【请填写功能名称】信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 医生首页登录展示
     */
    TableDataInfo<Patient> queryByCount(Long doctorId, PageQuery pageQuery);
    /**
     * 个人随访信息
     */
    List<ExcelPatientOptionVo> queryByOption(Long optionsId);
}
